package File;

import java.io.File;
import java.io.IOException;

/**
 * ClassName:FileDome004
 * Package:File
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/26-21:23
 * @Version:v1.0
 */
public class FileDome004 {
    /**
     * File 的常见方法(创建,删除)
     * public boolean createNewFile() 创建一个新的空的文件
     * public boolean mkdir() 创建单级文件夹
     * public boolean mkdirs() 创建多级文件夹
     * public boolean delete() 删除文件,空文件夹
     * <p>
     * 注意：delete方法默认只能删除文件和空文件夹,delete方法直接删除不走回收站
     */
    public static void main(String[] args) throws IOException {
        //1.public boolean createNewFile() 创建一个新的空的文件
        /*
         * 1.如果当前路径表示的文件是不存在的,则创建成功,返回true
         * 2.如果当前路径表示的文件存在,则创建失败,返回false
         * 3.如果父级路径是不存在的,那么方法会有异常IOException
         * 4.createNewFile方法创建的一定是文件,如果路径中不包含后缀名,则创建一个没有后缀的文件*/
        File f1 = new File("E:\\aaa\\c.txt");
        boolean newFile = f1.createNewFile();
        System.out.println(newFile);//true

        File f2 = new File("E:\\aaa\\ddd");
        boolean newFile1 = f2.createNewFile();
        System.out.println(newFile1);//true

        //public boolean mkdir() 创建单级文件夹
        /*
         * 1.windows中路径是唯一的,如果当前路径已经存在,则创建失败,返回false
         * 2.mkdir方法只能创建单级文件夹,无法创建多级文件夹
         * */

        //File f3 = new File("E:\\aaa\\ddd");
        File f3 = new File("E:\\aaa\\eee");
        boolean mkdir = f3.mkdir();
        //System.out.println(mkdir);//false
        System.out.println(mkdir);//true

        File f4 = new File("E:\\aaa\\aaa\\bbb\\ccc");
        boolean mkdir1 = f4.mkdir();
        System.out.println(mkdir1);//false

        //public boolean mkdirs() 创建多级文件夹
        /*既可以创建单级的文件夹,又可以创建多级的*/
        //File f5 = new File("E:\\aaa\\aaa\\bbb\\ccc");
        File f5 = new File("E:\\aaa\\ggg");
        boolean mkdir2 = f5.mkdirs();
        System.out.println(mkdir2);//true


        //public boolean delete() 删除文件,空文件夹
        /**
         * 1.如果删除的是文件,直接删除,不走回收站
         * 2.如果删除空文件夹,直接删除,不走回收站
         * 3.如果删除有内容的文件夹,删除失败*/
        //删除文件
        File f6 = new File("E:\\aaa\\a.txt");
        boolean b = f6.delete();
        System.out.println(b);//true

        //删除有文件的文件夹
        File f7 = new File("E:\\aaa\\aaa");
        boolean b1 = f7.delete();
        System.out.println(b1);//false

        //删除空文件夹
        File f8 = new File("E:\\aaa\\ggg");
        boolean b2 = f8.delete();
        System.out.println(b2);//true

    }
}
